/*
 * KisiselBilgiler.java
 */
package eDoktor.kullaniciBilgileri;

import java.util.Calendar;
import java.util.Date;

/**
 * Kişisel bilgiler sınıfı
 * @author Onuralp
 */
public class KisiselBilgiler {
    private String tcKimlikNo;
    private String soyadi;
    private String adi;
    private String dogumYeri;
    private Date dogumTarihi;
    private String cinsiyet;
    private int yas;

    /**
     * KisiselBilgiler sınıfının yapılandırıcısı
     */
    public KisiselBilgiler() {
        tcKimlikNo = "";
        soyadi = "";
        adi = "";
        dogumYeri = "";
        dogumTarihi = new Date();
        cinsiyet = ""; 
        yas = 0;
    }
    
    /**
     * KisiselBilgiler sınıfının degiskenlerine erişmeyi sağlayan fonksiyonlar 
     */

    public String getAdi() {
        return adi;
    }

    public void setAdi(String adi) {
        this.adi = adi;
    }

    public String getCinsiyet() {
        return cinsiyet;
    }

    public void setCinsiyet(String cinsiyet) {
        this.cinsiyet = cinsiyet;
    }

    public Date getDogumTarihi() {
        return dogumTarihi;
    }

    public void setDogumTarihi(Date dogumTarihi) {
        this.dogumTarihi = dogumTarihi;
    }

    public String getDogumYeri() {
        return dogumYeri;
    }

    public void setDogumYeri(String dogumYeri) {
        this.dogumYeri = dogumYeri;
    }

    public String getSoyadi() {
        return soyadi;
    }

    public void setSoyadi(String soyadi) {
        this.soyadi = soyadi;
    }

    public String getTcKimlikNo() {
        return tcKimlikNo;
    }

    public void setTcKimlikNo(String tcKimlikNo) {
        this.tcKimlikNo = tcKimlikNo;
    }

    public int getYas() {
        yasiHesapla();
        return yas;
    }

    public void setYas(int yas) {
        this.yas = yas;
    }
    
    
    
    /**
     * Yaşı hesapla.
     * @return Yaş 
     */
    public void yasiHesapla() {
        Calendar bugun = Calendar.getInstance();
        Calendar dogumGunu = Calendar.getInstance();
        dogumGunu.setTime(dogumTarihi);
        yas = bugun.get(Calendar.YEAR)-dogumGunu.get(Calendar.YEAR);
        if (((dogumGunu.get(Calendar.DAY_OF_YEAR)-bugun.get(Calendar.DAY_OF_YEAR))> 3) 
                || (dogumGunu.get(Calendar.MONTH)>bugun.get(Calendar.MONTH ))) {
            yas--;
        }
        else if ((dogumGunu.get(Calendar.MONTH) == bugun.get(Calendar.MONTH)) 
                && (dogumGunu.get(Calendar.DAY_OF_MONTH)>bugun.get(Calendar.DAY_OF_MONTH ))) {
            yas--;
        }
    }
}